[Kafka] 카프카 서버 및 UI 구성
Kafka 및 Kafka-UI 로컬 실행
가상머신 환경 셋팅
개인 PC를 사용하면 도커 데스크탑을 사용해 데몬을 관리하고 기업용 PC에서는 도커 데스크탑이 유료 라이선스이므로 Lima를 활용해 가상 머신 실행하도록 한다.
brew install lima
limactl start
limactl list
lima
가상머신 내에 docker cli 설치 및 실행한다.
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
자바 설치
sudo apt install default-jdk
java -version
~/.lima/cdc-kafka-test/lima.yaml (생성한 가상머신 이름으로 접근) writable: nulll → writable: true로 변경한다.
mounts:
- location: "~"
# Configure the mountPoint inside the guest.
# 🟢 Builtin default: value of location
mountPoint: null
# CAUTION: `writable` SHOULD be false for the home directory.
# Setting `writable` to true is possible, but untested and dangerous.
# 🟢 Builtin default: false
writable: true
가상머신 호스트 IP 확인
sudo apt install net-tools
ifconfig
버전 호환 확인
# 파이썬 버전 확인
python --version
Python 3.11.6
# 자바 버전 확인
java --version
java version "11.0.18" 2023-01-17 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.18+9-LTS-195)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.18+9-LTS-195, mixed mode)
# 스파크 버전 확인
spark-submit --version
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 3.3.2
/_/
Using Scala version 2.12.15, Java HotSpot(TM) 64-Bit Server VM, 11.0.18
Branch HEAD
Compiled by user liangchi on 2023-02-10T19:57:40Z
Revision 5103e00c4ce5fcc4264ca9c4df12295d42557af6
Url https://github.com/apache/spark
Type --help for more information.
Python 3.11.6, Java 17.0.9, Spark 3.3.2, Scala 2.12.15 버전 기준 (내 버전에 맞게 카프카 설치) https://kafka.apache.org/downloads
mkdir temp
wget -P ./temp https://dlcdn.apache.org/kafka/3.6.1/kafka_2.12-3.6.1.tgz
sudo tar -xvzf ./temp/kafka_2.12-3.6.1.tgz -C ./
sudo mv kafka_2.12-3.6.1 kafka
./kafka/config/server.properties 주석처리 해제후 위에서 확인한 가상머신 호스트로 수정한다.
advertised.listeners=PLAINTEXT://:9092
Zookeeper, Kafka, UI 실행
ZooKeeper 실행
sudo bin/zookeeper-server-start.sh config/zookeeper.properties &
Kafka 서버 실행
sudo bin/kafka-server-start.sh config/server.properties &
docker로 kafka-ui 이미지 실행
sudo docker run -p 8080:8080 -e KAFKA_CLUSTERS_0_NAME=local -e KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=:9092 provectuslabs/kafka-ui:latest
Kafka Topic 생성
로컬 카프카 UI 접근 (localhost:8080)
카프카 브로커가 하나이므로 Replication Factor 1로 테스트 토픽 생성
Leave a comment